Jump To:
Technical Q&As: Device Drivers
USB is a cross-platform peripheral standard that offers several benefits, such as low cost, expandability, autoconfiguration, hot plugging, and good performance. It also provides power to the bus, enabling many peripherals to operate without the need for an AC power adapter. Typical USB devices include keyboards, mice, joysticks, game pads, and other low-cost devices. Using the I/O Kit, Apple's object-oriented driver development framework, developers can create both in-kernel and application-level drivers for USB devices and interfaces.

Document Descriptions
On Off
Display

Sort by
Title
Sorted by
Date
Common QA and Roadmap for USB Software Development on Mac OS X (HTML)
QA1370: Roadmap for development of USB Software on Mac OS X and some Common Questions and Answers
2004-09-22
Installing smart card reader drivers (HTML)
QA1359: Updates obsolete information contained in the pcscd(8) man page on Mac OS X Jaguar and Panther.
2004-08-30
Generating an NMI Without a Programmer's Switch (HTML) ()
QA1264: Explains how to generate a non-maskable interrupt (NMI) on CPUs without programmer's switches.
2004-04-26
Issues with boot time KEXT loading (HTML) ()
QA1087: Explains how to solve problems with loading KEXTs at boot time.
2004-01-15
Installing an I/O Kit KEXT Without Rebooting (HTML)
QA1319: Describes the state of the art of installing I/O Kit kernel extensions (KEXTs) without requiring a restart.
2003-10-28
SDRAM Problems With Self-Powered USB Devices (HTML) ()
HW82: Alerts that non-compliant, self-powered USB devices plugged into a G4, can cause problems with low-voltage-sensitive SDRAM .
2003-08-21
Mapping kernel memory to user space on Mac OS X 10.2 (HTML) ()
QA1197: Describes a change to mapping kernel memory to user space affecting Mac OS X 10.2 and later.
2002-09-13
SCSIAction and IOSCSIUserClient on Mac OS X 10.2 (HTML) ()
QA1201: Describes migrating to a new API for SCSI Parallel devices starting with Mac OS X 10.2.
2002-09-13
Retain Counts of io_object_t Objects in IOKit.framework (HTML) ()
QA1195: Distinguishes between the retain counts of an I/O Kit kernel object and its io_object_t user space proxy.
2002-09-04
Sending SCSI commands to storage devices (HTML) ()
QA1179: Explains that Mac OS X does not implement SCSI pass-through for many mass storage devices.
2002-08-06
IODeviceTree & the IORegistry (HTML) ()
QA1120: Describes the IODeviceTree plane in the Mac OS X IORegistry.
2002-02-13
Power Management; Policy Maker vs. Power Controller (HTML) ()
QA1121: Describes the differences between a Power Management Policy Maker and a Power Management Power Controller.
2002-02-13
Making sense of IOKit error codes (HTML) ()
QA1075: Explains how to interpret I/O Kit error codes.
2002-02-07
IOKit Framework Headers (HTML) ()
QA1107: Describes the differences between the headers in IOKit.framework and the I/O Kit headers in Kernel.framework.
2002-01-15
Adding dependencies with kmodload (HTML)
QA1097: Illustrates how to specify dependencies when using kmodload.
2001-12-05
The dreaded "incompatible flag -framework" error (HTML)
QA1096: Explains how to eliminate the incompatible flag -framework error in Project Builder.
2001-12-05
Tips on USB driver matching for Mac OS X (HTML)
QA1076: Gives some tips on getting USB driver matching to work.
2001-10-02
HID Manager Event Data Underruns (HTML)
QA1038: Explains how to correctly handle HID Manager event queue data underruns.
2001-06-13
Open Firmware and the devalias node (HTML)
HW95: Describes why the contents of the Open Firmware devalias node varies between Macintosh models.
2000-09-05
The "packages" node in the device tree (HTML)
HW90: Describes the "packages" node in the Open Firmware device tree.
2000-09-05
Is the Open Firmware device tree object oriented? (HTML)
HW80: Discusses the object-oriented attributes of the Open Firmware device tree.
1999-11-15
Expansion ROM device properties (HTML) ()
HW50: Describes the Open Firmware properties that should be included in a boot device's expansion ROM.
1999-03-29
Getting started with Forth (HTML) ()
HW53: Describes where FCode driver developers can get information about the Forth programming language.
1999-03-29